# сделать аутентификацию пользователя в fastapi / strimlit может быть оболочкой для визуализации
import psycopg2
import streamlit as st
from PIL import Image
from io import BytesIO
import plotly.express as px


# Подключение к базе данных PostgreSQL
conn = psycopg2.connect(
    dbname='strimlit',
    user='postgres',
    password='020188',
    host='localhost'
)
cur = conn.cursor()


def main():
    page = st.experimental_get_query_params().get("page", ["main"])[0]

    if page == 'main':
        st.title('EarnOnDesign')
        st.write('Придумывай дизайн товаров, а мы продадим на WB и OZON')


        if st.button('Регистрация'):
            new_url = "/?page=registration"
            st.experimental_set_query_params(page='registration')
            st.experimental_rerun()

        if st.button('Загрузка'):
            new_url = "/?page=download"
            st.experimental_set_query_params(page='download')
            st.experimental_rerun()

    elif page == 'registration':
        st.title('Страница Регистрация')
        st.write('Здесь можно зарегистрироваться.')

        # Заголовок приложения
        st.title('Регистрация пользователя')
        # Поля для ввода данных пользователя
        name = st.text_input('Введите ваше имя')
        email = st.text_input('Введите ваш email')
        password = st.text_input('Введите пароль', type='password')

        if st.button('Вернуться на Главную страницу'):
            new_url = '/?page=main'
            st.experimental_set_query_params(page='main')
            st.experimental_rerun()

        # Кнопка для отправки формы и сохранения данных в базе данных
        if st.button('Зарегистрироваться'):
            try:
                cur.execute("INSERT INTO users (name, email, password) VALUES (%s, %s, %s)", (name, email, password))
                conn.commit()
                st.success(f'Пользователь {name} успешно зарегистрирован с email {email}')
            except Exception as e:
                st.error(f'Произошла ошибка при регистрации пользователя: {e}')
        # Закрытие соединения с базой данных
        cur.close()
        conn.close()

    elif page == "download":
        st.title("Страница загрузки картинки")
        st.write("Здесь можно зарегистрироваться.")

        # Заголовок приложения
        st.title('Загрузка в БД картинки')



if __name__ == "__main__":
    main()
